
5. Less Basic
==========

5.1 Broadcasting rules
------------------

Broadcasting allows universal functions to deal in a meaningful way with
inputs that do not have exactly the same shape.

The first rule of broadcasting is that if all input arrays do not have
the same number of dimensions, a "1" will be repeatedly prepended to the
shapes of the smaller arrays until all the arrays have the same number
of dimensions.

The second rule of broadcasting ensures that arrays with a size of 1
along a particular dimension act as if they had the size of the array
with the largest shape along that dimension. The value of the array
element is assumed to be the same along that dimension for the
"broadcast" array.

After application of the broadcasting rules, the sizes of all arrays
must match. More details can be found in :doc:`basics.broadcasting`.